#!/usr/bin/env python3
# -*- coding: utf-8 -*-


# 默认情况下，dict迭代的是key。
# 如果要迭代value，可以用for value in d.values()，
# 如果要同时迭代key和value，可以用for k, v in d.items()。
d={'a':1,'b':2,'c':3}
# key
for key in d:
	print(key)

# value
for value in d.values():
	print(value)

# key and value
for k, v in d.items()
	print(k, v)

# 由于字符串也是可迭代对象，因此，也可以作用于for循环
for chr in 'ABC':
	print(chr)

# 如何判断一个对象是可迭代对象呢？
# 方法是通过collections模块的Iterable类型判断
from collections import Iterable
# True
isinstance('abc', Iterable)
# True
isinstance([1, 2, 3], Iterable)
# False
isinstance(123, Iterable)

# 要对list实现类似Java那样的下标循环
# Python内置的enumerate函数可以把一个list变成索引-元素对，
# 这样就可以在for循环中同时迭代索引和元素本身
for index, name in enumerate(['A','B','C']):
	print(index, name)

# 上面的for循环里，同时引用了两个变量，在Python里是很常见的
for x, y in [(1, 1), (2, 4), (3, 9)]:
	print(x, y)


def getMaxMin(t):
	if t is None or len(t)==0:
		return None,None
	max=t[0]
	min=t[0]
	for v in t:
		if v>max:
			max=v
		elif v<min:
			min=v
	return max,min


print(getMaxMin([]))
print(getMaxMin(None))
print(getMaxMin([7]))
print(getMaxMin([1,7]))
print(getMaxMin([1,5,3,9,0,4,8,6,7]))
